package com.sdy.hospitalguard.biz.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sdy.common.model.BizException;
import com.sdy.hospitalguard.biz.dto.PatientDTO;
import com.sdy.hospitalguard.biz.dto.PatientDetailsDTO;
import com.sdy.hospitalguard.biz.dto.PatientPcDTO;
import com.sdy.hospitalguard.biz.dto.VisitRecordDTO;
import com.sdy.hospitalguard.biz.model.HospitalUser;
import com.sdy.hospitalguard.biz.model.PatientInformation;
import com.sdy.mvc.service.BaseService;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletRequest;
import java.net.URISyntaxException;
import java.util.List;

/**
 * <p>
 * 患者登记表 服务类
 * </p>
 *
 * @author zzq
 * @since 2020-05-08
 */
public interface PatientInformationService extends BaseService<PatientInformation> {

    PatientInformation selectPatient(PatientDTO patientDTO) throws BizException;

    PatientDetailsDTO patientQuery(Integer UserId);

    Boolean patientRegister(PatientInformation patientInformation, Integer userId) throws BizException, URISyntaxException;

    Boolean patientAddRelation(HospitalUser hospitalUser, HttpServletRequest request) throws BizException;

    /**
     * -------PC端接口----------
     */

    Page<PatientPcDTO> patienPageQuery (Page page, String content, Integer areaId, String startDate ,String endDate);

    List<PatientPcDTO> patienPageQuery (String content, Integer areaId, String startDate ,String endDate);

    PatientPcDTO patienDetails(Integer id);

    List<HospitalUser> patienEscortList(Integer id);

    Page<VisitRecordDTO> patienVisitPage(Page page,Integer id);
}
